package com.alks.entity.data.entity;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("PC_LOT_PROD_PLAN")
@ApiModel(value="PcLotProdPlan对象", description="")
public class PcLotProdPlan implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "公司ID")
    @TableId(value = "COMPANY_ID", type = IdType.AUTO)
    private String companyId;

    @ApiModelProperty(value = "指令")
    private String lotNo;

    @ApiModelProperty(value = "品牌")
    private String custom;

    @ApiModelProperty(value = "型体")
    private String style;

    @ApiModelProperty(value = "颜色")
    private String color;

    @ApiModelProperty(value = "订单数")
    private BigDecimal orderQty;

    @ApiModelProperty(value = "楦头")
    private String lastNo;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "下单日期")
    private LocalDateTime orderDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "客人交期")
    private LocalDateTime deliveryDate;

    @ApiModelProperty(value = "成型线别")
    private String lastLine;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "成型上线日")
    private LocalDateTime lastDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "一裁门槛上线日")
    private LocalDateTime cutPlan;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime cutAct;

    @ApiModelProperty(value = "一裁欠数")
    private BigDecimal cutShortQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime cutWeekDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "一裁生控计划日")
    private LocalDateTime cutPlanNew;

    @ApiModelProperty(value = "一裁外发数")
    private BigDecimal cutOutQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "工艺门槛上线日")
    private LocalDateTime hfPlan;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime hfAct;

    @ApiModelProperty(value = "工艺欠数")
    private BigDecimal hfShortQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime hfWeekDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "工艺生控计划日")
    private LocalDateTime hfPlanNew;

    @ApiModelProperty(value = "工艺外发数")
    private BigDecimal hfOutQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "二三裁门槛上线日")
    private LocalDateTime matchPlan;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime matchAct;

    @ApiModelProperty(value = "二三裁欠数")
    private BigDecimal matchShortQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime matchWeekDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "二三裁生控计划日")
    private LocalDateTime matchPlanNew;

    @ApiModelProperty(value = "二三裁外发数")
    private BigDecimal matchOutQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "针车门槛上线日")
    private LocalDateTime stitchPlan;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime stitchAct;

    @ApiModelProperty(value = "针车欠数")
    private BigDecimal stitchShortQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime stitchWeekDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "针车生控计划日")
    private LocalDateTime stitchPlanNew;

    @ApiModelProperty(value = "针车外发数")
    private BigDecimal stitchOutQty;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "成型门槛上线日")
    private LocalDateTime lastPlan;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime lastWeekDate;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat("yyyy/MM/dd")
    @ApiModelProperty(value = "成型生控计划日")
    private LocalDateTime lastPlanNew;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDateTime lastAct;

    @ApiModelProperty(value = "成型欠数")
    private BigDecimal lastShortQty;

    @ApiModelProperty(value = "成型外发数")
    private BigDecimal lastOutQty;

    @ApiModelProperty(value = "冲裁单位")
    private String cutDept;

    @ApiModelProperty(value = "针车单位")
    private String stitchDept;

    private BigDecimal cutNum;

    @ApiModelProperty(value = "大底欠数")
    private BigDecimal soleShortQty;
}